Using Graph Rewriting to Specify Software Architectural Transformations
نویسندگان
چکیده
In order to understand, analyze and possibly modify software, we commonly examine and manipulate its architecture. For example, we may want to examine the architecture at different levels of abstraction or repair the architecture if it has deviated from our mental model of the software. We can view such manipulations as architectural transformations, and more specifically, as graph transformations. In this paper, we use graph rewriting to specify these transformations so that we can work towards automating them. Specifically, we use the PROGRES tool to formulate executable graph-rewriting specifications for various architectural transformations in order to demonstrate the strengths of using graph rewriting. We have applied our executable specifications to small graphs and our results confirm the following: Graph rewriting offers a high-level, visual notation that can be used to neatly specify graph modifications as well as support prototype implementation. It also provides a convenient and intuitive framework for exploring various architectural transformations.
منابع مشابه
Deriving Software Performance Models from Architectural Patterns by Graph Transformations
The paper proposes a formal approach to building software performance models for distributed and/or concurrent software systems from a description of the system’s architecture by using graph transformations. The performance model is based on the Layered Queueing Network (LQN) formalism, which is an extension of the well-known Queueing Network modelling technique. The transformation from the arc...
متن کاملWins and Losses of Algebraic Transformations of Software Architectures
In order to understand, analyze and modify software, we commonly examine and manipulate its architecture. For example, we may want to examine the architecture at different levels of abstraction. We can view such manipulations as architectural transformations, and more specifically, as graph transformations. In this paper, we evaluate relational algebra as a way of specifying and automating the ...
متن کاملPerformance Modeling and Analysis of Software Architectures Specified Through Graph Transformations
Software architecture plays an important role in the success of modern, large and distributed software systems. For many of the software systems – especially safety-critical ones – it is important to specify their architectures using formal modeling notations. In this case, it is possible to assess different functional and nonfunctional properties on the designed models. Graph Transformation Sy...
متن کاملA Model Making Automation Process (MMAP) Using a Graph Grammar Formalism
In a large, concurrent software system it is difficult to understand the system behavior by analyzing event traces. The difficulty arises from the need to order the large number of events and infer cause-andeffect relationships. The Model Making Automation Process (MMAP) deduces causes-and-effect event relationships so that high-level models can be generated in an automated fashion. This paper ...
متن کاملPlanning Self-adaption with Graph Transformations
Self-adaptive systems autonomously adjust their behavior in order to achieve their goals despite changes in the environment and the system itself. Self-adaption is typically implemented in software and often expressed in terms of architectural reconfiguration. The graph transformation formalism is a natural way to model the architectural reconfiguration in self-adaptive systems. In this paper, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000